package com.sakila.persistence.service;

import java.util.Collection;

import javax.persistence.EntityManager;

import com.sakila.persistence.entities.Actor;
import com.sakila.persistence.entities.Category;
import com.sakila.persistence.entities.Film;
import com.sakila.persistence.entities.Language;

public interface InventoryService extends PersistenceService {
	public abstract void setEntityManager(EntityManager entityMgr);
	public abstract Collection<Language> findAllLanguages();
	public abstract Collection<Category> findAllCategory();
	public abstract Collection<Actor> findAllActor();
	public abstract Collection<Film> findAllFilm();
	public abstract Collection<Film> browseFilmByCategory(Category category);
	public abstract Collection<Film> browseFilmByLanguage(Language language);
	public abstract Collection<Film> browseFilmByActor(Actor actor);
	public abstract Film findFilmById(int id);
	public abstract Actor findActorById(int id);
	public abstract Category findCategoryById(int id);
	public abstract boolean removeActorsFromFilm(Film film, Collection<Actor> actors, boolean all);
}
